Ensuring Correctness of Java Frameworks A Formal Look at JCF
نویسندگان
چکیده
In this paper we propose a novel approach to speci cation development and veri cation of object oriented frameworks employing separate interface inheritance and implementation inheritance hierarchies In particular we il lustrate how our method of framework speci cation and veri cation can be used to specify Java Collections Framework which is a part of the standard Java Development Kit and ensure its correctness We propose to as sociate with Java interfaces formal descriptions of the behavior that classes implementing these interfaces and their subinterfaces must deliver Verify ing behavioral conformance of classes implementing given interfaces to the speci cations integrated with these interfaces allows us to ensure correctness of the system The characteristic feature of our speci cation methodology is that the speci cation language used combines standard executable statements of the Java language with possibly nondeterministic speci cation statements A speci cation of the intended behavior of a particular interface given in this language can serve as a precise documentation guiding implementation de velopment Since subtyping polymorphism in Java is based on interface in heritance behavioral conformance of subinterfaces to their superinterfaces is essential for correctness of object substitutability in clients As we view interfaces augmented with formal speci cations as abstract classes verifying behavioral conformance amounts to proving class re nement between spec i cations of superinterfaces and subinterfaces Moreover the logic frame work that we use also allows veri cation of behavioral conformance between speci cations of interfaces and classes implementing these interfaces The uniform treatment of speci cations and implementations and the relation ships between them permits verifying correctness of the whole framework and its extensions
منابع مشابه
Adding Efficient and Reliable Access Paths to the JCF
The Java Collections Framework (JCF) is the standard Java library for representing and manipulating collections (i.e., objects that represent a group of objects, such as sets, lists, etc.). Although JCF provides adequate functionality for many purposes, it does not offer any mechanism for accessing directly the objects stored in collections apart from the standard Java references. This absence ...
متن کاملFormal Verification of a Java Compiler in Isabelle
This paper reports on the formal proof of correctness of a compiler from a substantial subset of Java source language to Java bytecode in the proof environment Isabelle. This work is based on extensive previous formalizations of Java, which comprise all relevant features of object-orientation. We place particular emphasis on describing the effects of design decisions in these formalizations on ...
متن کاملVerifying the Mondex Case Study The KeY Approach
The Mondex Case study is still the most substantial contribution to the GrandChallenge repository. It has been the target of a number of formal verifica-tion efforts. Those efforts concentrated on correctness proofs for refinementsteps of the specification in various specification formalisms using different ver-ification tools. Here, the results of full functional verification o...
متن کاملA Formal Proof of Correctness of Construct Association from PROMELA to Java
The association between the subset of PROMELA’s constructs (or statements) and the subset of Java’s constructs is intended to provide a collection of rules that can be used as a reference in developing a model of code translator from a PROMELA model to a Java program. The idea arises from the fact that, both PROMELA model and Java program are built (or composed) by various elementary elements c...
متن کاملFully Verified Java Card API Reference Implementation
We present a formally verified reference implementation of the JAVA CARD API. This case study has been developed with the KeY verification system. The KeY system allows us to symbolically execute the JAVA source code of the API in the KeY verification environment and, in turn, prove correctness of the implementation w.r.t. formal specification we developed along the way. The resulting formal AP...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999